MS in Computer Science
What Will I Learn?
Our program provides a broad foundation of study in computer science combined with in-depth study in four concentration areas.
Graduate work in computer science involves the study of the development of physical and theoretical design and understanding of computer systems, as well as the implementation of those developments into everyday life.
Your Career
Upon graduation, you can pursue careers as become researchers, computer systems analysts, computer systems administrators, and other opportunities in the industry.
Who Can Apply?
If the applicant does not hold a BS in computer science, data science, computer engineering, or bioinformatics, they need to:
- Be a holder of a BS in engineering (other than computer engineering), data analytics, math, applied math, physics or statistics.
- Have taken during their BS the following 15 credits (Otherwise, the student must take these credits as remedial):
- Introduction to Object-Oriented Programming
- Objects and Data Abstraction
- Algorithms and Data Structures
- Database Systems
- Discrete Math
Curriculum
The Master’s in Computer Science program ensures depth and breadth in three core computer science areas: Artificial Intelligence and Data Science, Secure Computing and Networks, and Systems and Software. The program provides students with the option to select from a Professional Track, which is project-based, and a Research Track, which is thesis-based.
Professional Track (30 credits): The professional track caters to the local, regional, and international markets. This track requires two core courses (CSC611 Design and Analysis of Algorithms - 3 credits, and CSC689 Research Methods in Computer Science - 3 credits) and a project (3 credits). Students can select the remaining 21 credits from a pool of elective courses that are structured into three areas. The student must take at least one course from each area. In addition, students are allowed to take up to 9 credits from other departments/programs, including business, math, engineering, and economics, after obtaining the approval of the department.
Research Track (30 credits): The research-based program is a stepping stone for a Ph.D. program. The track requires two core courses (CSC611 Design and Analysis of Algorithms - 3 credits, and CSC689 Research Methods in Computer Science - 3 credits) and a Master’s Thesis (6 credits). Students can select the remaining 18 credits from a pool of elective courses that are divided into three areas. The student must take at least one course from each area. In addition, students are allowed to take up to 6 credits from other departments/programs, including business, math, engineering, and economics, after obtaining the approval of the department.
I. Professional Track (30 credits)
The Professional Track is structured as follows:
| Number | Course | Cr |
|---|---|---|
| CSC611 | Design and Analysis of Algorithms (Core Course) | 3 |
| CSC689 | Research Methods in Computer Science (Core Course) | 3 |
| CSC698 | MS Project | 3 |
| — | Elective courses | 21 |
II. Research Track (30 credits)
The Research Track is structured as follows:
| Number | Course | Cr |
|---|---|---|
| CSC611 | Design and Analysis of Algorithms (Core Course) | 3 |
| CSC689 | Research Methods in Computer Science (Core Course) | 3 |
| CSC699 | Thesis | 6 |
| — | Elective courses | 18 |
In both tracks, students can select the elective courses from the three areas below. The student must take at least three credits from each area in order to cover the breadth requirements.
This program also offers an Advanced Topics course that may be taken more than once, to allow even more in-depth knowledge in a particular area.
Area 1: Artificial Intelligence and Data Science
| Number | Course | Cr |
|---|---|---|
| DSC610 | Data Science and its Applications | 3 |
| CSC613 | Computational Methods in Biology | 3 |
| CSC614 | Meta-Heuristics | 3 |
| CSC615 | Machine Learning | 3 |
| DSC613 | Data Engineering | 3 |
| DSC622 | Deep Learning and its Applications | 3 |
| DSC612 | Data Ethics | 1 |
| DSC604 | Statistics for Data Science | 2 |
| DSC614 | Data Visualization | 2 |
| DSC623 | Natural Language Processing with Deep Learning | 2 |
| DSC624 | Reinforcement Learning | 2 |
| DSC625 | Introduction to Generative AI | 2 |
| CSC660 | Artificial Intelligence: Principles and Techniques | 3 |
| CSC688 | Advanced Topics in Computer Science | 3 |
Area 2: Secure Computing and Networks
| Number | Course | Cr |
|---|---|---|
| CSC616 | Cryptography and Data Security | 3 |
| CSC630 | Blockchain Systems | 3 |
| CSC634 | Network Programming | 3 |
| CSC635 | Internet of Things | 3 |
| CSC636 | Networks Security | 3 |
| CSC637 | Pervasive Computing and Wireless Networking | 3 |
| CSC641 | Quantum Computer Systems | 3 |
| CSC642 | Smart Cities and Intelligent Transportation Systems | 3 |
| CSC688 | Advanced Topics in Computer Science | 3 |
Area 3: Systems and Software
| Number | Course | Cr |
|---|---|---|
| CSC612 | Foundations of Computer Science | 3 |
| CSC621 | Transaction Processing Systems | 3 |
| CSC622 | Distributed Systems | 3 |
| CSC623 | Knowledge-Based Systems | 3 |
| CSC625 | Discrete Event Simulation | 3 |
| CSC627 | Advanced Database Systems | 3 |
| CSC690 | Search-Based Software Engineering | 3 |
| CSC691 | Advanced Software Engineering | 3 |
| CSC692 | Cloud-Based DevOps Engineering | 3 |
| CSC694 | Software Quality Assurance | 3 |
| CSC697 | Managing Software Development | 3 |
| CSC688 | Advanced Topics in Computer Science | 3 |